package cn.elead.chaos.sso.server.web.pwd.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import cn.elead.chaos.core.util.DateUtil;
import cn.elead.chaos.sso.core.util.SsoUtils;
import cn.elead.chaos.sso.server.web.pwd.domain.SsoPwd;
import cn.elead.chaos.sso.server.web.pwd.mapper.SsoPwdMapper;
import cn.elead.chaos.sso.server.web.pwd.service.ISsoPwdService;

/**
 * 密码修改记录 Service业务层处理
 * 
 * @author luopeng
 * @date 2020-03-04 09:19:23
 */
@Service
public class SsoPwdServiceImpl implements ISsoPwdService {
	
	@Autowired
	private SsoPwdMapper ssoPwdMapper;

	/**
	 * 查询密码修改记录
	 * 
	 * @param id 密码修改记录 ID
	 * @return 密码修改记录
	 */
	@Override
	public SsoPwd selectSsoPwdById(String id) {
		return ssoPwdMapper.selectSsoPwdById(id);
	}

	
	/**
	 * 查询密码修改记录
	 * 
	 * @param token 密码修改记录 token
	 * @return 密码修改记录
	 */
	public SsoPwd selectSsoPwdByToken(String token) {
		return ssoPwdMapper.selectSsoPwdByToken(token);
	}
	
	/**
	 * 查询密码修改记录 列表
	 * 
	 * @param ssoPwd 密码修改记录
	 * @return 密码修改记录
	 */
	@Override
	public List<SsoPwd> selectSsoPwdList(SsoPwd ssoPwd) {
		return ssoPwdMapper.selectSsoPwdList(ssoPwd);
	}

	/**
	 * 新增密码修改记录
	 * 
	 * @param ssoPwd 密码修改记录
	 * @return 结果
	 */
	@Override
	public int insertSsoPwd(SsoPwd ssoPwd) {
		ssoPwd.setCreateBy(SsoUtils.getUserName());
		ssoPwd.setUpdateBy(SsoUtils.getUserName());
		ssoPwd.setCreateTime(DateUtil.date());
		ssoPwd.setUpdateTime(DateUtil.date());
		return ssoPwdMapper.insertSsoPwd(ssoPwd);
	}

	/**
	 * 修改密码修改记录
	 * 
	 * @param ssoPwd 密码修改记录
	 * @return 结果
	 */
	@Override
	public int updateSsoPwd(SsoPwd ssoPwd) {
		ssoPwd.setUpdateBy(SsoUtils.getUserName());
		ssoPwd.setUpdateTime(DateUtil.date());
		return ssoPwdMapper.updateSsoPwd(ssoPwd);
	}

	/**
	 * 批量删除密码修改记录
	 * 
	 * @param ids 需要删除的密码修改记录 ID
	 * @return 结果
	 */
	@Override
	public int deleteSsoPwdByIds(String[] ids) {
		return ssoPwdMapper.deleteSsoPwdByIds(ids);
	}

	/**
	 * 删除密码修改记录 信息
	 * 
	 * @param id 密码修改记录 ID
	 * @return 结果
	 */
	@Override
	public int deleteSsoPwdById(String id) {
		return ssoPwdMapper.deleteSsoPwdById(id);
	}
}